package com.platform.common.core.domain.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.platform.common.core.annotation.Excel;
import com.platform.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 应用服务对象 plat_app
 *
 * @author platform
 * @date 2023-04-07
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class PlatApp extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 应用id
     */
    private Long appId;

    /**
     * 应用名称
     */
    @Excel(name = "应用名称")
    private String appName;

    /**
     * 应用编码
     */
    @Excel(name = "应用编码")
    private String appCode;

    /**
     * 应用logo
     */
    @Excel(name = "应用logo")
    private String appLogo;

    /**
     * 应用状态 0 待上架  1 已上架 2 已下架 4 已过期
     */
    @Excel(name = "应用状态 0 待上架  1 已上架 2 已下架 4 已过期")
    private String status;

    /**
     * 应用审核状态 0 未审核 1 审核通过 2 审核不通过
     */
    @Excel(name = "应用审核状态 0 未审核 1 审核通过 2 审核不通过")
    private String approveStatus;

    /**
     * 应用审核备注
     */
    @Excel(name = "应用审核备注")
    private String approveRemark;

    /**
     * 应用审核者
     */
    @Excel(name = "应用审核者")
    private String approveBy;

    /**
     * 应用审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "应用审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approveTime;

    /**
     * 应用负责人
     */
    @Excel(name = "应用负责人")
    private String principal;

    /**
     * 应用负责人联系电话
     */
    @Excel(name = "应用负责人联系电话")
    private String principalTel;

    /**
     * 平台给该应用颁发的唯一标识
     */
    @Excel(name = "平台给该应用颁发的唯一标识")
    private String clientId;

    /**
     * 平台给该应用的密钥
     */
    @Excel(name = "平台给该应用的密钥")
    private String clientSecret;


    /**
     * 有效期开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date datefrom;

    /**
     * 有效期结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效期结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateend;

    /**
     * 是否内置应用 0 否 1 是
     */
    @Excel(name = "是否内置应用 0 否 1 是")
    private String isInternal;
}
